/* $Id: DJudgeGWTAdminServiceAsync.java 137 2011-08-29 20:33:36Z altdotua@gmail.com $ */

package alt.djudge.frontend.client.rpc;

import alt.djudge.frontend.shared.dto.admin.AdminDTOEntry;

import com.google.gwt.user.client.rpc.AsyncCallback;


public interface DJudgeGWTAdminServiceAsync
{
	final int FIELD_ACTIVE = 1;
	
	final int FIELD_VISIBLE = 2;
	
	final int FIELD_DELETED = 3;
	
	void copyEntry(AdminDTOEntry dtoEntry, AsyncCallback<AdminDTOEntry> callback);

	void editEntry(AdminDTOEntry dtoEntry, AsyncCallback<AdminDTOEntry> callback);

	void createEntry(AdminDTOEntry dtoEntry, AsyncCallback<AdminDTOEntry> callback);

	void getEntries(String className, int page,
			AsyncCallback<AdminDTOEntry[]> callback);

	void setEntryField(String className, long entryId, int field, boolean value,
			AsyncCallback<Boolean> callback);
}
